<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8" />
		<title>2姓名案例-methods实现</title>
		<!-- 引入Vue -->
		<script type="text/javascript" src="../js/vue.js"></script>
		<style>
			#root {
				display: flex;
				flex-direction: column;
			}

			#child {
				display: flex;
				margin-top: 10px;
				flex-direction: row;
			}
		</style>
	</head>
	<body>
		<!--准备好一个容器-->
		<div id="root">
			<div id="child">
				<!-- input标签内应使用value属性，不应该使用placeholder
					使用双向绑定简写为 v-model
				 -->
				姓：<input type="text" v-model="firstName" />
			</div>
			<div id="child">
				名：<input type="text" v-model="lastName" />
			</div>
			<!-- 
			如果在插值语法中调用方法不加(),获取的是function () { [native code] }
			所以在插值语法中要加上()
			定义事件中括号可加可不加 ：<div @click="fullName()">
			 -->
			全名：{{fullName()}} <!-- 疑问：修改firstname或lastname为什么会调用这个方法。-->
		</div>
	</body>
	<script type="text/javascript">
		Vue.config.productionTip = true //阻止vue在启动时生成生产提示。
		new Vue({
			el: '#root',
			data: {
				firstName: '张',
				lastName: '三'
			},
			methods: {
				fullName() {
					return this.firstName.slice(0, 3) + '-' + this.lastName.slice(0, 3)
				}
			}
		})
	</script>
</html>